Data generated or occurring in a high data rate data stream can be recorded for subsequent search and retrieval. An example of such data is computer network traffic such as network packets occurring in a computer network at high data rates. As the data rate increases so too does a volume of data for recording. Large volumes of data are slow to search and access. Efficient and accurate indexing is necessary to provide timely and reliable search. As a volume of data grows so too does the time required to generate an index for the data. Furthermore it can be desirable to search recorded data soon after it is recorded leaving little opportunity to generate or regenerate an index for the data.